/**
 * File: d:\工作\上海项目\上海1\中欧\code\src\store\index.js
 * Project: d:\工作\上海项目\上海1\中欧\code
 * Created Date: 2020-10-09 09:56:21
 * Author: Wang
 * -----
 * Last Modified:  2020-10-09 14:46:43
 * Modified By: Wang
 * -----
 * Copyright (c) 2020 Hisw
 * ------------------------------------
 * Javascript will become your nightmare in your life!
 */


import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

const store = new Vuex.Store({
  state: {
  },
  mutations: {
  },
  actions: {
  },
  modules: {
  }
})


//require.context 创建一个查询模块   参数一:要搜索的目录,参数二:是否搜索子目录,参数三:一个匹配文件的正则表达式
const modulesContext = require.context('@/store/mod', true, /\.js$/)

/**
 * 创建模块函数
 * @param fileArr
 */
function createStoreModules (fileArr) {
  fileArr.keys().forEach(modules => {
    // 动态注册vuex
    // store.registerModule(参数一:注册状态名称,参数二:注册的状态内容)
    store.registerModule(
      modules.replace(/(^\.\/)|(\.js$)/g, ''),
      fileArr(modules).default
    )
  })
}

/**
 * 创建模块
 */
createStoreModules(modulesContext)

export default store
